// vue.config.js
module.exports = {
    publicPath: "./", //部署应用包时的基本相对路径地址
    chainWebpack: confing => {
        //修改入口文件
        //when判断环境条件，配置
        //发布模式
        confing.when(process.env.NODE_ENV === "production", confing => {
            //entry找到当前默认的打包入口, 调用clear清空默认打包入口, 使用add添加新的打包入口
            //add方法后面参数为新的入口文件 地址
            confing.entry('app').clear().add('./src/main-prod.js');
            //在打包的时候首先检查window上是否有下列组件(CDN提前挂载),如果有的话就不在重新import
            confing.set('externals', {
                vue: 'Vue',
                'vue-router': 'VueRouter',
                axios: 'axios',
                lodash: '_',
                echarts: 'echarts',
                nprogress: 'NProgress',
                'vue-quill-editor': 'VueQuillEditor'
            });
            //插件
            confing.plugin('html').tap(args => {
                args[0].isProd = true;
                return args
            })
        });
        // 开发模式
        confing.when(process.env.NODE_ENV === "development", confing => {
            confing.entry('app').clear().add('./src/main-dev.js');
            confing.plugin('html').tap(args => {
                //判断是否为发布模式手动添加属性值为是否是发布模式
                args[0].isProd = false;
                return args
            })
        });
    }
}
